Тесті өткізу үдерісінің ұйымы
Тестілеудегі лауазымдық иерархия, Тестілеу мерзімін жоспарлау және бағалау, Тестілеуді бастау/аяқтау критерийлері, Тестілеу нәтижелері бойынша есеп, Жұмыс орнын дайындау
Тестілеудегі лауазымдық иерархия
Мен-сынаушы! Ары қарай не?
Тар аймақтағы тестілеу
Тестілеуді автоматтандыру
Тестілеуді басқару
Тестілеу мерзімін жоспарлау және бағалау
Тестілеуге қойылатын талаптарды анықтау, стратегияны әзірлеу және тестілеу құралдарын таңдау
Еңбек шығындарын жоспарлау
Тест құжаттарын әзірлеу
Тестілеуді бастау/аяқтау критерийлері
Тестілеуді бастау критерийлері
Тестілеуді аяқтау критерийлері
Тестілеу нәтижелері бойынша есеп
Жұмыс орнын дайындау
Тестілеудегі лауазымдық иерархия
Мен-сынаушы! Ары қарай не?
Сынаушы-кәсіби және мансаптық өсуді білдіретін мамандық. Мамандыққа кіру оңай. Әдетте алғашқы жылы жаңадан келген адамдар функционалдық тестілеумен айналысады. Бұл қисынды, өйткені осылайша бастауыш сынаушы арнайы білім алады. Оның міндеті ақауларды іздеу және құжаттау, қарапайым тест-кейстерді жазу, ақауларды түзету нәтижелерін тексеру, тестілеу нәтижелері бойынша есептерді дайындау болып табылады. Уақыт жүріп жатыр, сіз әзірлеушілермен, Тапсырыс берушілермен және әріптестермен дұрыс қарым-қатынас жасауды үйрендіңіз, команданың бір бөлігі болып, әрі қарай қайда жылжи аласыз? Таңдаудың анықталмайынша, сіз тестілеуші еңбек ете бастаған салада жұмыс істеуді жалғастыра аласыз – әдетте, бұл функционалдық тестілеу. Егер ұйымыңыздың штаттық кестесінде командадағы орнын өзгертпестен мансаптық саты бойынша қозғалыс қарастырылған болса, сіз сол жұмысты орындауды жалғастыра отырып, аға, жетекші, бас тестілеуші боласыз. Егер сіз кәсіби даму саласында алға жылжуды шешсеңіз, онда сіз мансапты дамытудың бірнеше нұсқалары бар:
● Тар аймақтағы тестілеу
● Тестілеуді автоматтандыру
● Тестілеуді басқару.
Сондай-ақ, жақсы тестілеуші талдаушыға және тіпті әзірлеуге көшуі мүмкін екенін ұмытпаңыз. Ең бастысы-сіз жұмыс істеу қызықсыз болатын аймақты зерттеуге уақыт жоғалтпау үшін таңдаумен қателеспеңіз. Сізге қандай тестілеу саласында дамығыңыз келсе, талдаушының немесе әзірлеудің арнайы курстардың көмегі бар ма екенін түсіну. Тестілеу саласындағы мансапты дамытудың әрбір нұсқасын қарастырайық.
Тар аймақтағы тестілеу
Сіз белгілі бір тестілеу саласында тар маман бола аласыз – ол үшін таңдалған пән аймағында мұқият таңдау қажет. Тар маман өз саласында оған тең емес. Сіз жүктемелі немесе интеграциялық тестілеу бойынша Үздік маман бола аласыз немесе тек қана қауіпсіздікті тестілеумен айналыса аласыз. Мысалы, жүктемелік тестілеу бойынша маманға келесі талаптар қойылады: JMeter-мен жұмыс істеу тәжірибесі мен білімі (бұл Apache Software Foundation әзірлеген жүктемелік тестілеуді өткізу құралы.), озық пайдаланушы деңгейінде Unix/Linux білу, SQL білу (Күрделі сұраныстарды жазу). Ол үшін арнайы курстан өтіп, арнайы тестілеу құралдарымен жұмыс істеуді үйрену қажет.
Тестілеуді автоматтандыру
Автоматтандырылған тестілеу-бұл сіздің мансабыңыздың мүлдем жаңа деңгейі. Автоматтандырылған тестілеу бойынша маманға өте жоғары талаптар қойылады: осы салада жұмыс істеу үшін тестілеуші кем дегенде қолданбалы бағдарламаларды әкімшіліктендірудің базалық дағдыларына, танымал ОЖ біліміне, HTML және XML сенімді біліміне, қазіргі заманғы бағдарламалау тілдері туралы базалық ұсынысқа ие болуы тиіс деп болжанады. Автоматтандырылған тестілеу жөніндегі маман кодты ең болмағанда интуитивті деңгейде оқи алуы тиіс. Автоматтандырылған тестілеу маманы болу үшін, сондай-ақ қарапайым және тиімді автотестерді жазуға мүмкіндік беретін арнайы құралдарды зерттеуге тура келеді. Қазіргі уақытта автоматтандырылған тестілеу бойынша мамандар даярлау курстары бар.
Тестілеуді басқару
Әлбетте, иерархиялық сатының ең жоғары деңгейде тестілеуде барлық тестілеу процесін басқаратын және басқаратын адам бар. Тестілеу бойынша жақсы менеджер тестілеу процесін өткізу саласында терең білімі ғана емес, сондай-ақ тестіленетін өнімге қойылатын талаптар бойынша да, тестілеу түрін таңдау, оны өткізу мерзімін таңдау, тестілеуді бастау және аяқтау критерийлерін формалдау бойынша да терең білімі бар. Тестілеу бойынша менеджердің міндеті оның барлық кезеңдерінде тестілеуді өткізу процесін бақылау болып табылады. Ол сондай - ақ, әдетте, тест ортасының өзекті жағдайында қолдау көрсетуге жауап береді, "ресурстар қақтығысын" шешеді-тестілеуші бірден бірнеше жобаларға қатысқан кезде, тестілеудің барлық кезеңдерін формализациялау мен құжаттаманы қамтамасыз етеді және тестілеуді аяқтау туралы шешім қабылдауға қатысады. Бұл міндеттерді біз осы сабақта қарастырамыз.
Тестілеу бойынша менеджер болу үшін тестілеу барысында Мұқият ғана емес, командада жұмыс істей білу, көшбасшылық қасиеттерге ие болу қажет.
Тестілеу мерзімін жоспарлау және бағалау.
Тестілеу-көптеген ерекшеліктерімен икемді процесс, және жоспарлау кезеңінде бұл ерекшеліктер әсіресе айқын көрінеді. Стандартты" математикалық "жоспарлау әдістері" жұмыс істемейді, себебі тестілеудегі жоспарлар жоспарлау басталған кезде үнемі белгілі емес кіріспе деректердің көп санына байланысты болады. Өнім шығару күні қандай? Өнімді пысықтау кезінде тестілеу процесінің қанша итерациясын жүргізу қажет? Бұл параметрлерді әрқашанда анықтау мүмкін емес, олар тестілеушіге байланысты емес, және бізге оларға икемделуі қажет. Неге біз тестілеу процесін жоспарлауға тырысамыз? Өйткені дұрыс жоспарланған процесс жүйесіз немесе артық тест процедураларын болдырмауға мүмкіндік береді. Тестілеудің әрбір кезеңінде тестілеудің мақсатын дұрыс анықтап, мерзімін мұқият жоспарлау қажет. Осы міндетті орындау үшін бірқатар қажетті рәсімдер жүргізіледі:
● Тестілеуге қойылатын талаптарды анықтау - не тестілейміз – Сенімділік? Функционалдығы? Интерфейстің ыңғайлылығы? Өнімділік?
● Стратегияны әзірлеу және тестілеу құралдарын таңдау: не, кім, қандай тәсілдермен және қандай ретпен тестілейді?
● Тест құжаттарын әзірлеу: тестілеу әдістемесі, тестілеу жоспары, тест сценарийлері және т. б.
● Еңбек шығындарын және жұмыс тобының құрылымын жоспарлау: тапсырманы белгіленген мерзімде орындау үшін әр кезеңде қанша адам қажет?
● Тестілеудің аяқталу критерийлерін анықтау: тестілеу қай жағдайда аяқталды деп есептеледі? Тестілеу бойынша жұмыстарды тоқтату туралы шешім қандай жағдайда қабылданады?
● Тестілеуді өткізу мерзімін анықтау: тестілеу процесін қай мерзімге аяқтау қажет?
● Тестілеу нәтижелері бойынша есеп құру.
Тестілеуге қойылатын талаптарды анықтау, стратегияны әзірлеу және тестілеу құралдарын таңдау
Тестілеу стратегиясы-бұл жүйе мен платформаның басқа компоненттерімен функционалдылық ерекшелігін және тәуелділігін ескеретін жүйені немесе оның модулін тестілеу бойынша жұмыстарды жүргізу жоспары. Стратегия жүйенің осы функционалы үшін орындалуы қажет тестілердің түрлерін анықтайды, тестілеу мақсаттары тұрғысынан қажетті тәсілдерді сипаттайды және тестілеуді өткізу үшін қажетті құралдар мен инфрақұрылымға сипаттама немесе талаптар қоя алады. Стратегия сұрақтарға жауап береді:
● Бұл функционалдың жұмыс істейтіндігіне қалай жауап береді?
● Тестілеу мақсаттарына жету үшін не істеу керек және аспаптық құралдардан немен пайдалану керек?
● Белгілі бір функционал қашан сыналатын болады және тиісінше нәтиже алуды қашан күтуге болады?
Бірінші кезеңде тестілеуді өткізу саласы анықталады және тестілеуге қойылатын талаптар қалыптастырылады. Мысалы, қолданыстағы бағдарламалық жасақтаманы пысықтау кезінде барлық бағдарламаны тестілеу қажет емес,орындалған пысықтаудың сапасын тексеру жеткілікті. Тиісінше, Тапсырыс берушімен және әзірлеушімен бірлесіп тестілеуге қойылатын талаптар қалыптастырылады.
Бағдарламалық өнімдерге немесе ақпараттық жүйелерге қойылатын талаптарды екі үлкен топқа бөлуге болады. Бұл функционалдық талаптар (өнімде немесе жүйеде не іске асыру қажеттігін сипаттайтын, оның ішінде пайдаланушылардың олармен өзара іс-қимыл кезінде қандай іс-әрекеттерді орындауы тиіс) және функционалды емес талаптар (жүйе немесе бағдарламалық өнім қалай жұмыс істеу керектігін және ол қандай қасиеттерге немесе сипаттамаларға ие болуы тиіс екенін сипаттайтын). Яғни, функционалды емес талаптар — бұл функцияны емес, жүйенің сипаттамасы: оның өнімділігі, сенімділігі, қолжетімділігі, масштабталуы және басқа да бірқатар параметрлер. Әдетте функционалдық және функционалды емес талаптарды формализациялау үшін жұмыс топтары құрылады, олардың мүшелері талаптарды анықтайды, тексереді және бекітеді. Мұндай жұмыс топтарына тестілеу тобының өкілдері кіреді. Әлбетте, сіз тестілеуге кіріспес бұрын барлық талаптар анықталуы және бекітілуі тиіс.
Талаптар тұжырымдалған және тіркелген соң тестілеу әдістері мен құралдары таңдалады. Содан кейін қажетті құралдар мен инфрақұрылымға сипаттама немесе талаптарды қоса алғанда, тестіленуші бағдарламалық қамтамасыз ету үшін орындалуы қажет тест түрлері анықталады. Тиісінше тестілеуді өткізуге арналған құралдың қажеттілігі туралы шешім қабылданады. Белгілі бір жағдайларда тестіленетін бағдарламалық жасақтамадан басқа ешқандай құралдар қажет емес - бұл, мысалы, қолмен функционалдық тестілеуді өткізу жағдайлары.
Егер тестілеуге арналған арнайы құрал қажет болса, онда оны таңдау (немесе тестілеуді өткізуге арналған бірнеше құралдарды таңдау) тестілеу объектісіне, тест сценарийлеріне және т. б. қойылатын талаптарға байланысты болады.
Тестілеу құралдарының бірде-біреуі жоғарыда сипатталған тестілеу компоненттерінің барлық функционалдық мүмкіндіктерін қамтымайтынына байланысты және автоматтандыру дәрежесі бойынша құралдар арасындағы елеулі айырмашылықтарға байланысты біз тестілеу құралдарының мынадай кең жіктемесін құрдық. Бағаланатын құралды келесі топтардың біріне жатқызуға болады:
● Қолмен — тесттік бағдарлама үшін бос қаңқа жасайды және сізден тестілік деректер кодын және тестілік сценарийді орындау үшін логикалық бөлігін қолмен жазуды талап етеді. Әдетте, олар тестілік растау немесе тест құжаттары үшін кестелік есептерді жасау сияқты кең таралған процестер үшін пайдаланылуы мүмкін скриптік тілді және/немесе кітапханалық функциялар жиынтығын ұсынады.
● Жарты-автоматтандырылған — графикалық интерфейс және кейбір автоматтандырылған функционалдық мүмкіндіктері болуы мүмкін, бірақ әлі де кодты қолмен жазуды және/немесе күрделі құрылымдарды тестілеу үшін скрипттерді әзірлеуді талап етеді. Сондай-ақ жартылай автоматтандырылған аспаптарда автоматтандырылған құралдардың кейбір компоненттері болмауы мүмкін, мысалы, мақсатты платформада БҚ өрістетудің кіріктірілген қолдауы.
● Автоматтандырылған — алдыңғы бөлімде көрсетілген әрбір функционалдық саламен немесе компонентпен байланысы бар. Бұл топтың құралдары қолмен кодтауды талап етпейді және тілдің барлық құрылымдарын да, әр түрлі мақсатты платформаларда БҚ өрістетуді де қолдайды.
Тестілеу құралдарын бағалаудың жеткілікті егжей-тегжейлі әдістері бар, алайда тәжірибеде, әдетте, белгілі бір тестілеу түріне арналған және кәсіби ортада жақсы беделге ие құралдар қолданылады. Болмаған жағдайда жеткілікті білім туралы қолда бар құралдар мен технологияларға таңдау, құрал-тегжейлі банальному әдісі сынамалар мен қателер. Тестілеу құралдарын саналы түрде таңдау үшін және қосымшаларды тестілеу үшін қажетсіз бағдарламалық қамтамасыз етуді сатып алуға артық шығындардан аулақ болу үшін оған берілген мәліметтерді мұқият зерделеу қажет.
Еңбек шығындарын жоспарлау
Ресурстарды жоспарлау тестілеу процесін дайындау кезінде ең маңызды міндеттердің бірі болып табылады. Әрине, тестілеуге қатысатын адамдардың санын дұрыс анықтау ғана емес, сондай-ақ мамандарды дұрыс таңдау қажет. Мысалы, жоғары білікті мамандарды қарапайым тапсырмаларды тексеруге тартудың мағынасы жоқ. Ресурстарды дұрыс пайдаланбау кезінде жобаның құны өсуде және оның тиімділігі төмендейді. Егер сіз жобаға 6 тестілеушіні енгізсеңіз, ал іс жүзінде 4 адам жеткілікті болса, онда ұйым еңбекақысын 4 ЕМЕС, 6 төлейтін болады. Ал егер сіздің компанияңыз мерзімі өткен жоба үшін айыппұл туралы келісім - шарт жасаса, ал сіз "үнемделдіңіз" және 4 жобаға тестілеушіні тағайындаса, 6 тестілеудің орнына тестілеу сәтсіздікке ұшырауы мүмкін және айыппұл төлеу шығындары өте үлкен болуы мүмкін.
Еңбек шығындарын бағалау көбінесе алдыңғы релиздердің метрикасы негізінде жүргізіледі. Егер мұндай мүмкіндік болмаса (бұл ұқсас бағдарламалық өнімді бірінші тестілеу немесе таңдалған тестілеу құралы не әдісі арқылы бірінші тестілеу, алдыңғы тестілеу тәжірибесі жоқ), онда тестілеуді орындау уақыты "сараптық" (қолданыстағы практикалар, тестілеуде бір процедураны орындау уақыты бойынша уақытты шамамен бағалау, басқа бағдарламалық өнімнің ұқсас функционалын тестілеу тәжірибесі және т.б. негізінде) немесе егжей-тегжейлі математикалық пысықтау негізінде (біз бұрын білгеніміздей, тәжірибеде дерлік қолданылмайды) бағаланады. Еңбек шығындарына сәйкес орындаушылардың құрамы анықталады. Одан әрі тестілеу жоспарына сәйкес жұмыс кестесі жасалады. Бұл ретте тестілеу бойынша сауатты менеджер осы кезеңде талаптарды талдауға, оларды нақтылауға, бағдарламашылармен және Тапсырыс берушімен қарым-қатынас жасауға "уақытты сақтау" қажеттігін ескереді. 2 сағат ішінде 200 сағаттық тестілеу жоспарын орындау мүмкін емес. Бағдарламаның жаңа нұсқасын тестілеу үшін еңбек шығынын бағалау нәтижесінің мысалы ("Жылдам тестілеу" Оқулығынан алынған, авторлары Роберт Калбертсон, Крис Браун, Гэри Кобб):
Ресурсты жоспарлау үшін ең танымал Microsoft Project болып табылатын жобаларды басқару құралдарын пайдалану ұсынылады. Кесте ресурстардың өзара байланысын, басқа міндеттерге қатысатын орындаушылардың жүктелуін түсінуге мүмкіндік береді. Сынақтаушы қандай да бір міндеттерді "параллельді" орындай алатынын, ал кейбіреулері жоқ екенін түсіну қажет.
Келтірілген мысалда, шылым шегуді бірден үй құрылысы басталғаннан бастап бастауға болады. Бірақ үй салып, ағаш отырғызу мүмкін емес.
Суретте жұмыс кестесі Гант диаграммасы түрінде ұсынылған-бұл қандай да бір жоба бойынша жоспарды, жұмыс кестесін иллюстрациялау үшін қолданылатын бағанды диаграммалардың (гистограммалардың) танымал түрі. Гант диаграммасының Тік осі есептер тізімі, көлденең - барлық міндеттерді іске асыруға арналған уақыт кесіндісі, уақытша шкала болып табылады. Барлығы қарапайым және көрнекі.
Тест құжаттарын әзірлеу
Тестілеу стратегиясы әр түрлі деңгейдегі құжаттарды әзірлеуді көздейді. Тестілеу Стратегиясынан кейін бірден төмен сатымен тестілеу жоспары тұр. Әр түрлі әдістемелермен ұсынылатын тестілеу жоспарларының шаблондары көбінесе тікелей тестілеу стратегиясының сипаттамасынан тұрады немесе функционалдың нақты бөліктерін тестілеу үшін жауап беретін жоспар тармақтарына стратегияның сипаттамасын қамтиды. Мысалы, Rational Unified Process үлгісі тестілеу стратегиясын тестілеу жоспарының ең үлкен бөлімі ретінде анықтайды. [1]
Тестілеу процесін қалыптастыратын стандартты құжаттар:
● Тестілеу жоспары - бұл тестілеу бойынша барлық жұмыс көлемін сипаттайтын құжат, оларды орындау нәтижелері бар "тест-кейстер" жиынтығы. Тестілеу жоспарын ресімдеудің бірнеше "ресми" форматтары бар, мысалы, тестілеу үлгісі IEEE Standard for Software and System Test Documentation стандартында ұсынылады, алайда, нақты өмірде әрбір ұйым өзінің ақпарат жинағын көргісі келеді, мысалы, жоспардың әрбір тапсырмасы бойынша орындаушылар, нәтиженің дұрыстығын немесе тіпті тестілеушінің байланыс деректерін растайтын тапсырыс берушіден жауапты тұлға. Тестілеу жоспары тестілеуді орындау үшін тест сценарийлерін, тест кейстерін топтастыруға мүмкіндік береді.
● Тест сценарийлері, тест - кейстер-бұл өнімнің талаптарынан нақты алынған шартты тексеру үшін іс-қимыл реттілігін қамтитын тест құжаттамасының кішкентай, өте нақты бөлігі. Бір шарт бірнеше тест-кейстермен тексерілуі мүмкін. Әр түрлі кіріспе қолданғанда бір тест-кейс әр түрлі нәтижелерге әкелуі мүмкін. Тиісінше, тест-кейсті қамтитын өрістер санына қарамастан, ол екі басты құрамдас бөлікті қамтуы тиіс: бағдарламаның кіріс деректерінің сипаттамасы және әрбір кіріс деректерінің жиынтығы үшін дұрыс шығыс деректерінің дәл сипаттамасы. Тест-кейстің қарапайым үлгісі:
Кейде тест-кейске "алынған нәтиже" өрісі қосылады, бұл жағдайда тестілеуші тестілеу бойынша әрекеттерді орындау кезінде дереу тест-кейсті орындау нәтижелерін белгілейді, бұл кейіннен есептілікті қалыптастыру бойынша жұмысты жеңілдетеді:
● Тестілеу бойынша есептер тестілеу барысы мен нәтижелерін формализациялау үшін қажет. Тестілеу бойынша есептер аралық және қорытынды, жалпы және ішінара болуы мүмкін (мысалы, тек табылған қателерді көрсететін). Тестілеу бойынша есеп беруді біз осы сабақта кейінірек қарастырамыз.
Тестілеуді бастау/аяқтау критерийлері
Тестілеуді бастау критерийлері
Тестілеуді процесс ретінде қарастыра отырып, осы процесс басталатын және аяқталатын шарттарды ұсыну қажет екені анық. Ол үшін тестілеу процесінің өзі қай кезеңде басталатынын анықтау керек. Тестілеуді бастау сәті ретінде тест сценарийлерін әзірлеудің басталуын қабылдауға болады, себебі бұл құжаттарды әзірлеу кезінде орындау қажет әрекеттерді сипаттау бойынша нақты жұмыс басталады. Тест-кейстерді әзірлеуге қазірдің өзінде тестілеушілер командасы қатысып отыр, сәйкесінше, тестілеу жұмыстары басталды.
Тест сценарийлерін әзірлеуді қашан бастай аламыз? Бізге өнімге және тестілеуге қойылатын талаптар белгілі болған кезде барлық функционалдық және функционалды емес талаптар қалыптастырылды. Бұл тестілеу процесін бастау үшін жеткілікті ме? Жоқ, себебі тест ортасы болмаған жағдайда одан әрі жұмыс істеу мүмкін емес. Демек, келесі критерий тест ортасының дайындығы болып табылады. Тест сценарийлерін әзірлеу кезеңінде дайындалған тест ортасының болуы жиі талап етіледі: мысалы, егер тест-кейс нақты ақпаратты қамтыса, сайтта қандай да бір файл түсірілуі тиіс, қандай папкадан жүктелуі тиіс, қандай веб-бетте жаңартылған ақпарат және т.б. пайда болуы тиіс. Ең бастысы, тест-кейстерді орындау бойынша жұмысты бастау үшін бұл орта дайын болуы тиіс. Және, әрине, тестіленетін өнім тестілеуге дайын болуы керек. Тест-кейстерді орындау басталған кезде әзірлеуші өнімді өткізуді жалғастырған жағдайда, ол сыналғаннан кейін функционалдың өзгеруімен жағдай туындауы мүмкін. Мінсіз жағдай: әзірлеу аяқталды және тестілеуге берілді.
Тестілеуді аяқтау критерийлері
Тестілеуді аяқтау критерийлері әрбір процесс үшін жеке анықталады. Практикада мынадай өлшемдер қолданылуы мүмкін:
● Тестілеуді өткізуге бөлінген уақыт бойынша. Бұл жағдайда тестілеудің аяқталу күні белгіленеді. Көрсетілген күні тестілеу жөніндегі менеджерге немесе жоба басшысына өткізілген тестілеу туралы есеп беріледі. Әдетте, бұл тәсіл тестілеу аутсорсингке берілген немесе тестілеудің бірнеше итерациясы болжанған жағдайда қолданылады: тестілеу - қателерді түзету - тестілеу. Бұл күнді анықтаудың оңай жолы бар: тестілеудің толық циклы әзірлеу циклімен сәйкес келеді немесе оның белгілі бір бөлігіне сәйкес келеді.
● Қателер саны бойынша. Бұл жағдайда барлық тесттер қатесіз орындалғанда тестілеу тоқтатылады-бұл қателіктер жоқ екенін білдіретін тамаша жағдай. Бұл тәсілдің орнына, әдетте, тест тапсырушы бағдарламалық жасақтаманы пайдалануға енгізуге кедергі келтіретін және сыни деп танылған қателер болмаса, тестілеу аяқталған болып саналады. Сондай-ақ, тестілеу уақытын арттырумен қателердің өсуін немесе төмендеуін көрсететін графиктер қолданылады. Егер белгілі бір сәтте табылған қателердің саны айтарлықтай азайса, онда тестілеу процесін аяқтауға болады.
● Ең "ғылыми" әдіс сенімділік модельдері бойынша есептелетін сенімділіктің сандық көрсеткіштері бойынша тестілеуді аяқтау өлшемін анықтауға негізделген. Әдетте бағдарламалық қамтамасыз етуді тестілеу бойынша қызмет көрсететін ұйымдар сирек қолданылады. Тестілеуді жоспарлау кезінде неге математикалық әдістер іс жүзінде қолданылмайды? Өйткені олар ерекше білімді талап етеді, пайдалану кезінде еңбек сіңіреді және тестілеу процесінің икемділігін ескермейді.
Тестілеу өте күрделі қателіктер табылған жағдайда тоқтатылуы мүмкін (аяқталмауы, тоқтатылуы мүмкін), бұл оларды жойғанға дейін одан әрі тестілеуді жалғастырудың мағынасы жоқ. Мысалы, Клиентті ұйымның деректер базасына енгізу қызметі тестіленеді. Клиенттің бірегейлігі Паспорт деректері бойынша анықталады. Алайда, егер клиенттің жеке деректер өрісін енгізу нысанында (Тегі, Аты, Әкесінің аты) толтыру мүмкін болмаса, сол паспорттық деректерді екі рет енгізу мүмкін бе, себебі кез келген жағдайда Клиентті әкеле алмаймыз. Сондай - ақ, тестілеу тым көп қателіктер табылған кезде тоқтатылуы мүмкін-бұл жағдайда "шикі" өнім бағдарламашыға пысықтауға беріледі.
Классикалық және кең таралған сапа метрикасы нақты жағдайларда орындалған талаптар санының олардың жалпы санына қатынасы болып табылады. Бұл метриканы негіз ретінде пайдалана отырып, мысалы, мұндай шарттарды жасауға болады:
● Тестілеу, егер қосымша функционалдылығына қойылатын талаптардың 20% артық бұзылғандығы анықталса тоқтатылады (метрика-орындалмаған талаптар санының олардың жалпы санына қатынасы, сыни мәні — 20%),
● Тестілеу барлық талаптардың орындалуы тексерілгенде аяқталады (метрика-орындалған талаптар санының олардың жалпы санына қатынасы, сыни мәні — 100%),
● Егер алдыңғы екі шарт орындалмаса, тестілеу жалғасады.
Тестілеу нәтижелері бойынша есеп
Әлбетте, тестілеу нәтижелері формальды болуы тиіс. Тестілеу нәтижелері бойынша есептілікке қатысты құжаттардың бірнеше түрі бар. Олардың ең көбі-тестілеу хаттамалары және тестілеу бойынша есеп. Олар, әдетте, егжей-тегжейлі дәрежесімен ерекшеленеді. Әдетте тестілеу хаттамалары белгілі бір белгімен біріктірілген тест сценарийлерінің Жиынтығына жазылады. Мысалы, егер бағдарламалық қамтамасыз етудің функционалдық және жүктемелік тестілеуі жүргізілсе, онда функционалдық тестілеуді өткізгеннен кейін тестілеу ХАТТАМАСЫ құрылады, онда тест-кейстер, тестілеу құралдары, тест ортасының сипаттамасы, операциялық жүйенің нұсқасы және т. б. орындалған барлық шарттар көрсетілген:
Хаттамалар, әдетте, қателерді жою үшін қажет. Тестілеу хаттамаларын ресімдеуден бас тарту тәжірибесі бар, өйткені қазіргі уақытта табылған барлық қателердің сипаттамасы баг-трекинг жүйесінде тіркеледі. Тиісінше, тестілеу ХАТТАМАСЫ әзірлеушілерге белгілі ақпаратты қайталайды. Сондықтан тестілеу бойынша есеп маңызды, кейде жалғыз құжат болып қалады.
Есеп нысаны әрбір нақты ұйымда, ал кейде әрбір тестілеу процесі үшін әзірленеді. Есепті қамтитын ақпарат мақсатты аудиторияның басымдықтарына қарай анықталады. Кейде есеп барынша қысқа және анық форматтағы соңғы нәтижені (дұрыс/дұрыс емес), ақпаратты (графиктер, диаграммалар) көрнекі түрде ұсынуды, өнімді өнеркәсіптік ортаға және т.б. шығару мүмкіндігі туралы ұсынысты немесе қорытындыны, ал табылған қателер және / немесе орындалған әрекеттер туралы егжей-тегжейлі ақпаратты есепке қосымшаларда қамтиды. Бұл жағдайда бизнес-Тапсырыс беруші көптеген техникалық ақпаратты оқу қажеттігінен құтылады, бірақ қалауыңыз бойынша онымен таныса алады.
Есептер тестілеу процесінің аяқталу дәрежесіне байланысты бөлінуі мүмкін.:
● Аралық жауап.
● Соңғы, соңғы есеп.
Есеп нысаны әдетте сақталады. Аралық есепте есеп жасау сәтінде тестілеу бойынша орындалған әрекеттер туралы ақпарат көрсетіледі. Мұндай есептің мақсаты:
● Процесс жүріп жатқанын көрсету, тестілеу жүргізіледі.
● Тестілеу жөніндегі менеджерге немесе жоба басшысына қажет болған жағдайда тестілеуді тоқтату туралы шешім қабылдауға мүмкіндік бере отырып, табылған қателердің санын көрсету.
● Тестілеу бойынша менеджерге немесе жоба басшысына тестілеуді аяқтау мерзімін уақытында түзетуге мүмкіндік беру.
● Әзірлеушіге барлық сыналған функционалдың өзгеруіне әкелмейтін қателерді жедел түзетуге мүмкіндік беру. Мысалы, тест-кейс бағдарлама функционалында қатенің жоқтығын көрсетті,алайда, деректерді енгізу түрінде емле қатесі анықталды. Бұл қатені тестілеу аяқталуын күтпестен бірден түзетуге болады.
Бар баг-трекинг жүйелері тестілеу бойынша есептіліктің бір бөлігін автоматты режимде қалыптастыруға мүмкіндік береді: мысалы, кезең ішінде табылған қателер саны, тестілеу және т. б. процесінде жойылған қателер саны.
Тестілеу хаттамалары болмаған жағдайда, орындалған іс-әрекеттер туралы барлық ақпарат есепте көрсетіледі, техникалық ақпарат есептің өзінде де, оған қосымшада да мазмұндалуы мүмкін. Дегенмен, тестілеу бойынша кез келген есепте бар ақпарат бар:
1. Тестілеушілер тобының құрамы немесе тестілеуді өткізуге жауапты адам.
2. Есеп жасалған тестілеу өткізу кезеңі.
3. Тестілеу әрекеттерінің сипаттамасы-бұл тек тест кейстерінің тізімі немесе түрі, тестілеу аймағы болуы мүмкін.
4. Тестілеу жүргізілген маңызды жағдайлар
5. Өткен тест сценарийлерінің пайызы (қорытынды есепте өткен тестілердің пайызы, егер бұғаттау қатесі немесе сыни қателердің белгілі саны болмаса, соның нәтижесінде тестілеуді тоқтату туралы шешім қабылданған болса, 100% - ға ұмтылуға тиіс).
6. Алдыңғы есепте көрсетілген қателерді түзету жағдайында есепте көрсетілген тестілеу кезеңі үшін жүргізілген қорытындылардың сипаттамасы-қатені жою күні туралы ақпарат.
Тестілеуді өткізу туралы жиынтық есептің мысалы:
Тестілеу процесінде әрбір іс-қимылды өткізу туралы орындалған қадамдардың толық сипаттамасы бұрын айтылғандай, есепке қосымша түрінде қоса тіркелуі немесе тестілеу хаттамасы түрінде ресімделуі немесе баг-трекинг жүйесінде тіркелуі мүмкін.
Жұмыс орнын дайындау
Тестілеу процесі тестілерді орындау нәтижелері болжанатын және жаңғыртылатын болуы үшін белгілі бір тестілеу ортасында орындалуы тиіс. Бұл дегеніміз, тестілеушінің жұмыс орнының барлық конфигурациясы, атап айтқанда, аппараттық конфигурация, Операциялық жүйе, тестіленуші бағдарламалық өнімнің нұсқасы және жүйенің бастапқы күйі анықталуы тиіс. Тестілеу стратегиясы мен тестілеу жоспарын жасаған кезде, әдетте, тестілеу құралдары конфигурациясының әртүрлі нұсқаларын талдау және тестілеу процесінде пайдаланылатын конфигурацияларды таңдау көзделеді. Бұл жағдайда тестілеу жүзеге асырылатын барлық конфигурациялар тест құжаттамасында көрсетіледі. Тапсырыс берушінің әр түрлі жұмыс шарттарын модельдеу үшін бірнеше конфигурация нұсқаларында бір тест жиынтығын орындау қажеттілігі жиі туындайды. Мысалы, ірі тапсырыс беруші оны ұйымдастыру үшін бірнеше стандартты операциялық жүйенің конфигурацияларын пайдалана алады — мұндай нұсқаны компьютерге немесе әр түрлі тестілеушілердің компьютерлеріне Тапсырыс берушінің ұйымында пайдаланылатын операциялық жүйелерді орната отырып, дәлдігі жоғары тестілік жағдайларда кодтауға болады. Басқа мысал: Мобильді қосымшаларды тестілеу жағдайында тест ортасының конфигурация нұсқалары әр түрлі мобильді платформаларда тесттерді айдап өту үшін қажет.
Тест ортасын құрудың кейбір жалпы ережелері бар:
● Тест ортасын құру үшін жұмыс ортасының виртуалды немесе физикалық бейнелері қолданылады. Олар тест ортасында конфигурацияны дәл қайталауға мүмкіндік береді. Бұл ретте тест ортасына қауіпсіздік талаптары қойылуы мүмкін: мысалы, тестілік дерекқор белгілі бір құпия ақпаратты қамтуы мүмкін емес. Бұл жағдайда арнайы рәсімдермен базаны "иесіздендіру" орындалады.
● Әдетте тест ортасы физикалық жұмысшыдан бөлінген. Бұл тестілеу процесінің Жұмыс ортасына әсерін болдырмауға мүмкіндік береді (мысалы, жүктемелік тестілеу өткізілген жағдайда жұмыс серверіне жүктемені ұлғайтпауға).
● Тест ортасы жүйенің нұсқаларына және орнатылған жаңартуларға қатысты Жұмыс ортасына толық сәйкес келуі тиіс.
● Тестілеу бойынша барлық әрекеттер жұмыс ортасындағы есептік жазбалармен бірдей құқықтары бар есептік жазбалармен орындалады. Мысалы, егер пайдаланушы жүйеде жаңа клиентті енгізе алатын болса, бірақ қолданыстағы клиент бойынша ақпаратты редакциялауға құқығы жоқ болса, онда тестілік ортада да осы шектеулер ескерілуі тиіс. Егер пайдаланушыға оның жұмыс компьютерінде әкімші атынан қосымшаларды іске қосуға рұқсат етілмесе, онда тестік ортада да осындай құқықтар болуы тиіс. Бұл тестілеудің дұрыс нәтижелері үшін қажет.
Жиі әрбір жаңа жоба үшін тестілеушінің жұмыс орнын теңшеуге уақыт жұмсамау үшін виртуалды машиналар немесе терминал клиенттері қолданылады. Бұл жағдайда бірнеше конфигурацияларды теңшеуге және оларды тестілеу кезінде пайдалануға болады. Терминалдық клиент терминалдық серверде қашықтан жұмыс істеу үшін қызмет етеді. Бұл ретте клиенттік машинада Операциялық жүйе терминалдық серверде пайдаланылатыннан мүлдем болмауы немесе өзгеше болуы мүмкін. Жұмыс ортасын жаңарту кезінде мұндай жұмыс орнын жаңарту оңайырақ: терминалдық серверде конфигурация жаңартылады және серверге қосылған әрбір тестілеуші өзекті конфигурацияны алады.
Тест ортасынан басқа, тестілеушінің компьютеріне тестілеу құралдарының клиенттік бөлігі, қажетті кеңсе пакеті орнатылады және баг-трекинг жүйелеріне қол жеткізу қамтамасыз етіледі.
Практика
1. Оңайлатылған нысан бойынша есеп жасау.
a. Мекен-жайға өту https://dadata.ru/suggestions/#email
b. Автоматты тексеру және байланыс деректерін түзету (аты-жөні, мекен-жайы, телефондары, email) сервисінің email тексеру нысаны ашылғанына көз жеткізу.
c. Дұрыс электрондық пошта мекенжайын енгізу, нәтижесін тексеру.
d. Дұрыс емес электрондық пошта мекенжайын енгізу, нәтижені тексеру.
e. Оңайлатылған нысан бойынша тестілеу нәтижесі туралы есеп құру:
2. Сервисті тестілеу бойынша есеп құру https://dadata.ru
a. Мекен-жайға өту https://dadata.ru
b. Автоматты тексеру және байланыс деректерін түзету сервисінің басты беті ашылғанына көз жеткізу (аты-жөні, мекен-жайы, телефоны, email).
a. Беттің соңында "қалай жұмыс істейді" формасында өзінің тегін, атын, әкесінің атын (Т. а. ә.) дұрыс енгізу. Көз:
i. Еден дұрыс анықталған
ІІ. Іс бойынша аты-жөні дұрыс орындалды
b. Беттің соңында "бұл қалай жұмыс істейді" нысанында өзінің тегін, атын, әкесінің атын дұрыс енгізбеу: мысалы, ер адамның аты-жөнін енгізген кезде әйел адамның аты-жөнін көрсету. Иванов Иван Иванович. Көз:
i. Жүйемен аты-жөні дұрыс нұсқасы ұсынылған (Иван Иванович Иванов орнына-Иван Иванович Иванов)
ІІ. Жынысы бойынша анықталды корректному нұсқа аты-ЖӨНІ
ii. Іс бойынша аты-жөні дұрыс орындалды
c. Беттің соңында "қалай жұмыс істейді" пішінде дұрыс сіздің не белгілі телефон нөмірін енгізу. Байланыс операторы, аймақ және сағаттық белдеудің дұрыс көрсетілгеніне көз жеткізу.
d. Келесі нысан бойынша тестілеу бойынша есеп құрастыру:
Сервисті тестілеу бойынша есеп DaData.ru
1.0 нұсқасы
Нұсқалар хронологиясы
Мазмұны:
1. Кіріспе
2. Тест ортасының конфигурациясы
3. Тестілеу нәтижелері бойынша мәлімет
4. Сыналған қасиеттері
5. Сыналмаған қасиеттері
6. 1-қосымша. Орындау нәтижелері бар тест сценарийлерінің тізбесі
1. Кіріспе
DaData.ru -байланыс деректерін автоматты түрде тексеру және түзету қызметі (аты-жөні, мекен-жайы, телефоны, email). Сервис клиенттік деректерді автоматты түрде түзетуге арналған. Тестілеу барысында мекен-жайы бойынша қолжетімді сервис функцияларының бірінің жұмыс қабілеттілігі тексерілді: …
Тестілеу курс оқытушысынан алынған тапсырмаға сәйкес орындалды. Тестке осы есептің 4 бөлімінде көрсетілген функционалдың бір бөлігі - "сыналған қасиеттер"жатады. Тестілеу осы есептің 5-бөлімінде көрсетілген функционал үшін өткізілген жоқ- "сыналмаған қасиеттер". Тестілеу қорытындылары бойынша қорытынды осы есептің 3 – бөлімінде - "тестілеу нәтижелері бойынша жиынтық"берілген. Орындалған тест сценарийлерінің тізбесі осы Есепке қосымшада келтірілген.
2. Тест ортасының конфигурациясы:
Жұмыс орнын конфигурациялау
Жұмыс орнының ОС
Браузер
Жергілікті компьютердегі пайдаланушы құқықтары
…
3. Тестілеу нәтижелері бойынша мәлімет
....
4. Сыналған қасиеттері
....
5. Сыналмаған қасиеттері
....
6. Қосымша
1-кесте. Орындау нәтижелері бар тест сценарийлерінің тізбесі
Үй тапсырмасы
1 тапсырма.
Сервисті тестілеу бойынша есепті толықтыру https://dadata.ru
1. Браузерде бетті ашу https://dadata.ru/suggestions/
2. Көз жеткізіңіз ашылды "кеңестер" сервис DaData.ru:
3. "Қалай жұмыс істейді" нысаны үшін 5 тест-кейстер әзірлеу
4. Әзірленген тест-кейстерді орындау
5. Тестілеудің нәтижелерін есептің жаңа нұсқасына енгізу.
6. Қажет болса, кестеге бағандарды қосу.1 орындалу нәтижелері бар тест сценарийлерінің тізбесі
2 тапсырма.
ТЗ бойынша интернет-сайтты пысықтауға арналған есептің үлгісін жасау (алдыңғы сабақтарда ТЗ берілді):
- алдыңғы тапсырмадағы сияқты есепті құрайық,
-тестілеу объектісі ТТ бойынша интернет-сайтты пысықтау болады( балаларға белгілі бір тауар түрлерін сатуға тыйым салу), бұл түзетуді енгізу тармағында өз бетінше көрсетіңіз,
- өткен тесттердің санын көрсету қажет жерлерде-бос қалдырыңыз немесе қандай да бір белгі қойыңыз немесе осы орынды астын сызыңыз,
- тестілердің жалпы саны көрсетілген жерлерде - 5 сабақтан кейін дайындалған тестілердің санын көрсетіңіз (чек-Парақ бойынша тестілердің тізімі ) ),
- тестерді қоса беру керек жерде-сіздің үй жұмысынан 5 тестіңізді қосып алыңыз, олар бұрын жіберілген немесе түзетілген тесттерді қоса бере аласыз (егер Мен олар бойынша ескертулер жіберсеңіз),
- егер мен есеп жасау бойынша қандай да бір нюанстар көрсетпесем-өз басыңызбен жұмыс істеуді бастаңыз және есеп жасауды үйреніңіз.
Сәттілік.
Презентация сілтемесі :
Тесті өткізу үдерісінің ұйымы
Қолданылатын әдебиет
1. Роберт Калбертсон, Крис Браун, Гэри Кобб "Жылдам тестілеу", 2002
2. Синицын С. В., НалютинН. Ю. Верификация бағдарламалық қамтамасыз ету, 2008.